Release 10.1A: OpenEdge Development:
Open Client Introduction and Programming
Architecture
The Open Client architecture allows Open Clients to access application services that are organized into separate 4GL source files (usually
.p(procedure) files,.wfiles, or both).There are several components involved in accessing AppServer functionality from Open Clients. Figure 1–1 shows the basic components involved when an Open Client application communicates with an AppServer on a company intranet or the Internet.
Figure 1–1: Open Client architecture Note: OpenEdge also supports SSL intranet connections between the WSA or AIA and the AppServer. For more information, see OpenEdge Application Server: Administration .
![]()
For Java and .NET, the client programmer writes the client application in Java™ or any .NET language. This application typically executes remote procedures and functions in an AppServer session through methods on a proxy object you generate using ProxyGen, described below.
For Progress 4GL Web services, the client programmer writes the client application in any Web-service-enabled language, such as Java, VB.NET, or the Progress 4GL. This application sends requests to an OpenEdge Web Service Adapter (WSA), to execute remote procedures and functions in an AppServer session. The available methods and location of the WSA are specified in a Web Services Definition Language (WSDL) file generated when the Web service is deployed to the WSA. ProxyGen is used before deployment, to define the Web service.
ProxyGen is an Open Client development tool that defines and generates Java and .NET proxies (for use by Java and .NET Open Clients, respectively) and generates Web service definitions (for use by Web service clients). The proxy objects generated by ProxyGen are first class Java or .NET classes and use the Open Client Runtime to access the AppServer. For more information about using ProxyGen to generate proxies and Web service definitions, see the "Building and deploying an Open Client application" section and Chapter 3, " Generating Proxies and Web Service Definitions."
A key feature of the Open Client is support for relational data exchange. This allows 4GL ProDataSets (.NET and Java Open Clients only) and temp-tables to be passed between the AppServer and the client application, which sees the data in its native environment. For Java, a ProDataSet parameter (
Note: Progress 4GL Web services do not support ProDataSet parameters. However, you can serialize ProDataSets to XML and pass them in the Web service asDATASETorDATASET-HANDLEdata type) maps to an OpenEdgeProDataGraphobject, which is an implementation of the Java Service Data Objects (Java SDO)DataGraphinterface. For .NET, a ProDataSet parameter maps to an ADO.NETDataSetobject. Similarly, for Java, a temp-table parameter (TABLEorTABLE-HANDLEdata type) can map (your choice) to either an SQLResultSetobject or an OpenEdgeProDataGraphobject (as the wrapper for a single temp-table). For .NET, a temp-table parameter maps toanADO.NETDataTableobject. In this way, Open Client applications can access any OpenEdge database or DataServer connected to and exposed by the AppServer application.LONGCHARvariables.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |